subroutine check_react_group(lunit)
  use param
  use group_param,only:react_group
  use group_param,only:n_react_group
  implicit none

  integer,intent(in) :: lunit

  integer :: i,j,k,n,in1,in2,in3,pos1,pos2
  character(len=len_linebuf) :: str

  if (n_react_group.eq.0) return

  in1=1
  in2=2
  in3=3

  call log_msg1(lunit,"")
  call log_msg1(lunit,"Groups for reactions")
  call log_msg1(lunit,"")

  call drawline(lunit,in1,51)
  write(lunit,'(1x,"index",&
                8x,"type",8x,&
                3x,"target1"3x,&
                3x,"target2")') 
  call drawline(lunit,in1,51)

  do i=1,n_react_group
     pos1=0

     pos2=pos1+5
     write(str(pos1+1:pos2),'("[",i3.3,"]")') i
     pos1=pos2

     n=react_group(i)%react_type

     select case(n)
     case(1)
        ! objgrp+objgrp
        pos2=pos1+20
        write(str(pos1+1:pos2),'(2x,"obj_grp + obj_grp",1x)')
        pos1=pos2

        pos2=pos1+13
        write(str(pos1+1:pos2),'(5x,i3,5x)') &
             react_group(i)%target1
        pos1=pos2

        pos2=pos1+13
        write(str(pos1+1:pos2),'(5x,i3,5x)') &
             react_group(i)%target2
        pos1=pos2
     case(2)
        ! objgrp
        pos2=pos1+20
        write(str(pos1+1:pos2),'(3x,"obj_grp (diss)",3x)')
        pos1=pos2

        pos2=pos1+13
        write(str(pos1+1:pos2),'(5x,i3,5x)') &
             react_group(i)%target1
        pos1=pos2
     case(3)
        ! gobj+objgrp
        pos2=pos1+20
        write(str(pos1+1:pos2),'(3x,"gobj + obj_grp",3x)')
        pos1=pos2

        pos2=pos1+13
        write(str(pos1+1:pos2),'(5x,i3,5x)') &
             react_group(i)%target1
        pos1=pos2

        pos2=pos1+13
        write(str(pos1+1:pos2),'(5x,i3,5x)') &
             react_group(i)%target2
        pos1=pos2
     case(4)
        ! gobj
        pos2=pos1+20
        write(str(pos1+1:pos2),'(4x,"gobj (source)",3x)')
        pos1=pos2

        pos2=pos1+13
        write(str(pos1+1:pos2),'(5x,i3,5x)') &
             react_group(i)%target1
        pos1=pos2
     case(5)
        ! objgrp(escape)
        pos2=pos1+20
        write(str(pos1+1:pos2),'(3x,"obj_grp (free)",3x)')
        pos1=pos2

        pos2=pos1+13
        write(str(pos1+1:pos2),'(5x,i3,5x)') &
             react_group(i)%target1
        pos1=pos2
     end select

     call log_msg1_indent(lunit,in1,str(1:pos2))
  end do

  call drawline(lunit,in1,51)

  return

end subroutine check_react_group
